FIG. 1 illustrates routing of audio signals in a USB audio device 112 coupled to a personal computer in the prior art. The USB audio device 112 having a USB port 114 is coupled to a PC 102 having a USB port 110. When the USB port 114 is mated with USB port 110, enumeration of USB audio device 112 occurs.
The host device, PC 102, detects the attachment of USB audio device 112. During enumeration, PC 102 sends control transfers containing standard USB requests to the USB audio device 112. The USB audio device 112 must respond to each request by returning requested information and taking any requested actions. The firmware of USB audio device 112 may contain the information PC 102 requests, and a combination of hardware and firmware may respond to request for the information. During enumeration, the USB audio device 112 moves through four states: Powered, Default, Address, and Configured.
During the enumeration process, the USB audio device 112 defines a series of its capabilities, including its number of USB audio endpoints. In the prior art, a single USB audio endpoint is declared for each audio transducer or transducer set at the USB audio device 112. For example, a USB audio device 112 having an audio transducer consisting of a microphone and an audio transducer set consisting of a speaker pair will declare two USB audio endpoints during enumeration. One USB audio endpoint is declared for the microphone (i.e., an “audio input endpoint” or “input audio endpoint”) and one USB audio endpoint is declared for the speaker pair (i.e., an “audio output endpoint” or “output audio endpoint”).
In the prior art, a user of USB audio device 112 may simultaneously hear audio output from different applications being executed on PC 102. Listening to audio from multiple applications simultaneously may be undesirable to the user in many cases.
As a result, there is a need for improved methods and apparatuses for audio routing and switching in USB audio devices.